#pragma once

#include "../stereokit.h"

namespace sk {

const float hand_joint_size [5] = {0.014f, 0.037f, 0.032f, 0.028f, 0.021f}; // in order of hand_joint_. found by measuring the width of my pointer finger when flattened on a ruler
const float hand_finger_size[5] = {1.15f,  1,      1,      0.85f,  0.75f }; // in order of hand_finger_. Found by comparing the distal joint of my index finger, with my other distal joints

pose_t input_pose_fist[5][5] = { 
	{ {{0.005665252f,0.01743333f,0.05084944f}, {-0.2242406f,0.9484599f,0.2183491f,0.04963366f}}, {{0.005665252f,0.01743333f,0.05084944f}, {-0.1694278f,0.9491727f,0.07223327f,0.2552404f}}, {{0.02554873f,0.02709787f,0.0137122f}, {-0.0821283f,0.933144f,-0.2426009f,0.2522737f}}, {{0.04050829f,0.01504829f,-0.00840535f}, {0.01753761f,0.8112059f,-0.541218f,0.220727f}}, {{0.04574133f,0.001379195f,-0.0132927f}, {0.01753761f,0.8112059f,-0.541218f,0.220727f}}}, 
	{ {{-0.01375741f,0.01165698f,0.04275635f}, {-0.6987112f,0.7067492f,0.0083499f,0.1106271f}}, {{-0.004103001f,0.02275901f,-0.0223202f}, {-0.4225039f,0.5166042f,-0.5236015f,0.529577f}}, {{0.03289011f,0.01926422f,-0.01823749f}, {-0.02434782f,0.03784158f,0.6991104f,-0.7135963f}}, {{0.03104839f,0.01964354f,0.002603507f}, {-0.2112719f,0.2685962f,0.6566771f,-0.672306f}}, {{0.02381468f,0.02042166f,0.01128628f}, {-0.2112719f,0.2685962f,0.6566771f,-0.672306f}}}, 
	{ {{-0.01276815f,0.0006415636f,0.03982359f}, {-0.7560046f,0.6503519f,-0.04529115f,0.05871931f}}, {{-0.003602829f,0.002532134f,-0.0227518f}, {-0.4978297f,0.4345368f,-0.5073782f,0.5530919f}}, {{0.03723032f,0.007077682f,-0.01750452f}, {-0.001325388f,0.07226831f,0.6387228f,-0.7660344f}}, {{0.03445605f,0.00930607f,0.006924681f}, {-0.2124687f,0.2749107f,0.5888999f,-0.7297109f}}, {{0.0263062f,0.009477687f,0.01641548f}, {-0.2124687f,0.2749107f,0.5888999f,-0.7297109f}}}, 
	{ {{-0.01068332f,-0.01011876f,0.03866962f}, {-0.7747011f,0.6251681f,-0.09487229f,-0.001512516f}}, {{-0.002440354f,-0.01698995f,-0.01711446f}, {-0.5475657f,0.3782212f,-0.5439249f,0.5111418f}}, {{0.03533715f,-0.01128588f,-0.01272103f}, {0.1004703f,0.1249066f,0.6141536f,-0.7727349f}}, {{0.03366577f,-0.003872055f,0.01006241f}, {-0.1106906f,0.3245711f,0.5469232f,-0.763725f}}, {{0.02599939f,-0.001560491f,0.0195688f}, {-0.1106906f,0.3245711f,0.5469232f,-0.763725f}}}, 
	{ {{-0.004842782f,-0.02101037f,0.04096061f}, {-0.8146486f,0.5626122f,-0.1171017f,-0.07811742f}}, {{0.0005680016f,-0.03463171f,-0.009540937f}, {-0.6284624f,0.3143151f,-0.5192313f,0.4864562f}}, {{0.03007229f,-0.02585725f,-0.009156709f}, {0.1860451f,0.146563f,0.5472778f,-0.8027412f}}, {{0.02953541f,-0.01806449f,0.005912331f}, {-0.0352442f,0.3245032f,0.4753598f,-0.8169998f}}, {{0.02305296f,-0.01517868f,0.01496171f}, {-0.0352442f,0.3245032f,0.4753598f,-0.8169998f}}}, 
};

pose_t input_pose_neutral[5][5] = { 
	{ {{0.006338987f,0.01847209f,0.04890552f}, {-0.2235676f,0.948635f,0.2178792f,0.05135864f}}, {{0.006338987f,0.01847209f,0.04890552f}, {-0.1776168f,0.9099054f,0.2959466f,0.2300874f}}, {{0.01950568f,0.04451702f,0.01871854f}, {-0.1536109f,0.9279689f,0.2217845f,0.257078f}}, {{0.03121975f,0.05856872f,-0.003319894f}, {-0.1304572f,0.9387796f,0.151853f,0.2803828f}}, {{0.03858139f,0.06398648f,-0.0153669f}, {-0.1304572f,0.9387796f,0.151853f,0.2803828f}}}, 
	{ {{-0.01233831f,0.01116261f,0.04216255f}, {-0.6979687f,0.707326f,0.00707767f,0.1117121f}}, {{-0.002714128f,0.02194321f,-0.02117033f}, {-0.6954257f,0.7105478f,-0.0297012f,0.1030665f}}, {{0.003980417f,0.02554905f,-0.05600143f}, {-0.6471329f,0.6808856f,-0.2107574f,0.2705463f}}, {{0.01675123f,0.02680694f,-0.0712335f}, {-0.5613154f,0.6114826f,-0.3729635f,0.4146231f}}, {{0.02675417f,0.02690793f,-0.07531749f}, {-0.5613154f,0.6114826f,-0.3729635f,0.4146231f}}}, 
	{ {{-0.01347275f,0.0006831143f,0.03915538f}, {-0.7552344f,0.6510694f,-0.04659462f,0.0596536f}}, {{-0.004351828f,0.002496252f,-0.02174273f}, {-0.7530281f,0.6507353f,-0.07152373f,0.06615521f}}, {{0.003322304f,0.002755495f,-0.06058559f}, {-0.7360153f,0.6364477f,-0.1715089f,0.1542744f}}, {{0.01375171f,0.002959597f,-0.08134879f}, {-0.6598159f,0.5716369f,-0.3649061f,0.3236014f}}, {{0.02377497f,0.003075514f,-0.08751987f}, {-0.6598159f,0.5716369f,-0.3649061f,0.3236014f}}}, 
	{ {{-0.01110613f,-0.009853964f,0.03748593f}, {-0.7738755f,0.6259981f,-0.0961388f,-0.0006726854f}}, {{-0.002922643f,-0.01656897f,-0.01680171f}, {-0.7716599f,0.627184f,-0.1028189f,-0.02469158f}}, {{0.001875293f,-0.02284598f,-0.05353047f}, {-0.7602071f,0.5941975f,-0.2327612f,0.121807f}}, {{0.01345768f,-0.02496933f,-0.07355195f}, {-0.7244673f,0.5446196f,-0.3411984f,0.2492395f}}, {{0.02266935f,-0.0250958f,-0.08128503f}, {-0.7244673f,0.5446196f,-0.3411984f,0.2492395f}}}, 
	{ {{-0.004220022f,-0.02008814f,0.03971447f}, {-0.8138503f,0.5636054f,-0.1183451f,-0.07740316f}}, {{0.001175472f,-0.03336885f,-0.009437861f}, {-0.8060799f,0.558974f,-0.1602727f,-0.1099819f}}, {{0.005197856f,-0.04395664f,-0.036894f}, {-0.8089603f,0.5115795f,-0.2847029f,0.05304504f}}, {{0.01361939f,-0.04731729f,-0.05050619f}, {-0.7803575f,0.4484112f,-0.3871439f,0.2002232f}}, {{0.02230755f,-0.04770203f,-0.05737948f}, {-0.7803575f,0.4484112f,-0.3871439f,0.2002232f}}}, 
};

pose_t input_pose_point[5][5] = {
	{ {{0.006131408f,0.01815838f,0.04505195f}, {-0.2238786f,0.9484974f,0.2179176f,0.05237518f}}, {{0.006131408f,0.01815838f,0.04505195f}, {-0.1943998f,0.9051874f,0.3397956f,0.1654802f}}, {{0.01270308f,0.04482257f,0.01702162f}, {-0.2002211f,0.8897028f,0.3779409f,0.1596907f}}, {{0.01630832f,0.06481414f,-0.0009846101f}, {-0.2068709f,0.8686014f,0.4237531f,0.1522147f}}, {{0.01759359f,0.07634115f,-0.009560416f}, {-0.2068709f,0.8686014f,0.4237531f,0.1522147f}}}, 
	{ {{-0.01160152f,0.0108169f,0.04065126f}, {-0.6980198f,0.7071343f,0.00656659f,0.112634f}}, {{-0.00222376f,0.02121915f,-0.0202237f}, {-0.6929463f,0.7148035f,-0.07614225f,0.05553313f}}, {{0.004039682f,0.02013896f,-0.05349388f}, {-0.6926613f,0.7141395f,-0.08006589f,0.06176217f}}, {{0.007857157f,0.01958693f,-0.07227257f}, {-0.6913231f,0.7102531f,-0.09371136f,0.09397481f}}, {{0.01060621f,0.01955366f,-0.08235464f}, {-0.6913231f,0.7102531f,-0.09371136f,0.09397481f}}}, 
	{ {{-0.01294504f,0.0008582036f,0.0376371f}, {-0.7552387f,0.6509402f,-0.04718584f,0.06053919f}}, {{-0.004054221f,0.002636103f,-0.02090236f}, {-0.542913f,0.4702892f,-0.4457355f,0.5342222f}}, {{0.03300411f,0.00867769f,-0.02209898f}, {0.0694882f,-0.0723768f,0.6446893f,-0.7578317f}}, {{0.03741793f,0.008943442f,-0.0003977363f}, {-0.1951549f,0.1529202f,0.6304023f,-0.7356107f}}, {{0.03210304f,0.007879252f,0.009498565f}, {-0.1951549f,0.1529202f,0.6304023f,-0.7356107f}}}, 
	{ {{-0.01086021f,-0.009254843f,0.03626087f}, {-0.7738427f,0.6259429f,-0.09676257f,0.0001975551f}}, {{-0.00288212f,-0.01568122f,-0.01592853f}, {-0.5859148f,0.4106535f,-0.4805961f,0.5070453f}}, {{0.03135449f,-0.008710498f,-0.01676258f}, {0.1509107f,-0.0225005f,0.627484f,-0.7635336f}}, {{0.03618271f,-0.004347002f,0.003811417f}, {-0.1357207f,0.2114143f,0.5917215f,-0.7659959f}}, {{0.03075671f,-0.003873582f,0.0135968f}, {-0.1357207f,0.2114143f,0.5917215f,-0.7659959f}}}, 
	{ {{-0.003921936f,-0.01905536f,0.03830199f}, {-0.8138092f,0.5636311f,-0.1190355f,-0.07658373f}}, {{0.001366374f,-0.03179852f,-0.008958421f}, {-0.6661302f,0.3491615f,-0.4627142f,0.4693105f}}, {{0.02734447f,-0.02348606f,-0.01257059f}, {0.2407068f,0.009149515f,0.5772178f,-0.7802539f}}, {{0.031354f,-0.01761196f,0.0008747724f}, {-0.05044037f,0.2157176f,0.5356706f,-0.814849f}}, {{0.02717f,-0.0160759f,0.01017799f}, {-0.05044037f,0.2157176f,0.5356706f,-0.814849f}}}, 
};

pose_t input_pose_pinch[5][5] = {
	{ {{0.006954093f,0.01839733f,0.04546071f}, {-0.2240439f,0.9485115f,0.2179035f,0.05146049f}}, {{0.006954093f,0.01839733f,0.04546071f}, {-0.1568907f,0.938684f,0.07039868f,0.2988338f}}, {{0.0281439f,0.02728055f,0.0135546f}, {-0.1313082f,0.9425841f,-0.01010599f,0.3069059f}}, {{0.04397159f,0.02895658f,-0.008541596f}, {-0.08130679f,0.9317439f,-0.1593318f,0.316f}}, {{0.0528623f,0.02540583f,-0.01938091f}, {-0.08130679f,0.9317439f,-0.1593318f,0.316f}}}, 
	{ {{-0.01133f,0.01086031f,0.04083612f}, {-0.6982889f,0.706983f,0.007022513f,0.1118849f}}, {{-0.00206051f,0.02124113f,-0.02005905f}, {-0.5968711f,0.6493681f,-0.256451f,0.3953467f}}, {{0.0255676f,0.02592271f,-0.03879721f}, {-0.3217331f,0.4540789f,-0.5569894f,0.6164926f}}, {{0.0431445f,0.02383362f,-0.03151209f}, {-0.1544972f,0.3150933f,-0.6551323f,0.6690654f}}, {{0.04969539f,0.02166998f,-0.0236005f}, {-0.1544972f,0.3150933f,-0.6551323f,0.6690654f}}}, 
	{ {{-0.01319246f,0.0007495628f,0.03746448f}, {-0.7555206f,0.6507133f,-0.0466879f,0.05984246f}}, {{-0.004399951f,0.002506733f,-0.02109046f}, {-0.7407111f,0.633682f,-0.1011869f,0.1988862f}}, {{0.0108264f,0.008809681f,-0.05519799f}, {-0.6659356f,0.5897167f,-0.2641742f,0.3727951f}}, {{0.02848257f,0.01293498f,-0.06819078f}, {-0.5929817f,0.5398627f,-0.3627376f,0.4747026f}}, {{0.03916272f,0.01487589f,-0.07143266f}, {-0.5929817f,0.5398627f,-0.3627376f,0.4747026f}}}, 
	{ {{-0.01064428f,-0.009368405f,0.03597109f}, {-0.7741432f,0.625648f,-0.09626467f,-0.0004652498f}}, {{-0.002748185f,-0.01581321f,-0.01622851f}, {-0.7771431f,0.6190056f,-0.08732393f,0.07249362f}}, {{0.005274567f,-0.01565067f,-0.05089361f}, {-0.7539079f,0.594726f,-0.1873701f,0.2069214f}}, {{0.01698176f,-0.0136768f,-0.06958803f}, {-0.721646f,0.564751f,-0.2595407f,0.3048314f}}, {{0.02523951f,-0.01199047f,-0.07739244f}, {-0.721646f,0.564751f,-0.2595407f,0.3048314f}}}, 
	{ {{-0.003794328f,-0.01916116f,0.03806538f}, {-0.8140885f,0.5632535f,-0.1185172f,-0.07719617f}}, {{0.001424642f,-0.03192238f,-0.009197861f}, {-0.8193893f,0.5590667f,-0.1238247f,-0.02670363f}}, {{0.006307265f,-0.03706312f,-0.03650517f}, {-0.8162482f,0.5346884f,-0.1914223f,0.1058533f}}, {{0.01301978f,-0.03756608f,-0.05076451f}, {-0.8011011f,0.5079126f,-0.2411423f,0.2052127f}}, {{0.01932488f,-0.03667746f,-0.05923889f}, {-0.8011011f,0.5079126f,-0.2411423f,0.2052127f}}}, 
};

} // namespace sk